/*希尔排序算法*/
void shell_sort(ElemType *array, int arr_size)
{
	int i;
	int j;
	ElemType temp;
	int gap = arr_size;
	
	do
	{
		gap = gap / 3 + 1;
	
		for(i = gap; i < arr_size; i++)
		{
			if(array[i-gap] > array[i])
			{
				temp = array[i];
				
				for(j = i-gap; array[j] > temp; j--)
				{
					array[j+gap] = array[j];
				}
				array[j+gap] = temp;
			}
		}
	}while(gap > 1)
	
}